package com.sfx.concurrent.demo.concurrent.SingletonTest;

/**
 * 枚举类饿汉式
 */
public enum Singleton2 {
    // 问题1：枚举单例是如何限制实例个数的
    // 就是枚举类的静态成员变量
    // 问题2：枚举单例在创建时是否有并发问题
    //类加载的时候完成的,线程安全问题
    // 问题3：枚举单例能否被反射破坏单例
    //不能
    // 问题4：枚举单例能否被反序列化破坏单例
    // 不能-->默认实现序列化接口 ,无需要自己做
    // 问题5：枚举单例属于懒汉式还是饿汉式
    //饿汉式 -->静态成员变量
    // 问题6：枚举单例如果希望加入一些单例创建时的初始化逻辑该如何做
    //可以加构造方法
    INSTANCE;
    Singleton2() {
        System.out.println("Singleton2()");
    }
    public static Singleton2 getInstance() {
        return INSTANCE;
    }
}
